#include <QCoreApplication>
#include <QtDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    // int n1=78;
    // double n2=66.6;
    // char n3[20]="粤嵌";
    // 字符串的拼接 sprintf
    // QString str=QString("我拼接字符串%1#%2#%3").arg(n1).arg(n2).arg(n3);
    // QString str=QString("我拼接字符串%3#%1#%2").arg(n1).arg(n2).arg(n3);
    // 打印结果
    // qDebug()<<str;  //自动换行，不需要写换行符

    // 比较字符串--》返回值跟strcmp类似
    // QString str1="hello";
    // QString str2="HeLLo";
    // int ret=str1.compare(str2); //默认是区分大小写
    // int ret=str1.compare(str2,Qt::CaseInsensitive); //不区分大小写
    // qDebug()<<"返回值："<<ret;

    // 判断是否包含子串
    // QString str1="helloworld";
    /*
      有同学觉得Qt::CaseSensitive写代码可以用1替换
      实际：不可以，C++编译对于类型转换要求非常严格
      Qt::CaseInsensitive 0
      Qt::CaseSensitive   1
    */
    // bool ret=str1.contains("wo",1); //编译报错
    // bool ret=str1.contains("wo",(Qt::CaseSensitivity)1); //强制转换，编译正确
    // bool ret=str1.contains("wo",Qt::CaseSensitive);
    // qDebug()<<"ret is: "<<ret;

    // 截取子串
    // QString str1="hellogec";
    // QString ret=str1.mid(5,3); //下标5开始截取3个字符
    // qDebug()<<"ret is: "<<ret;

    // 把整数，小数转成字符串
    // int n4=110;
    // double n5=78.96;
    // QString ret=QString::number(n4,2);  //把110先转成二进制，把二进制转成字符串
    // QString ret=QString::number(n4,8);    //把110先转成8进制，把8进制转成字符串
    // QString ret=QString::number(n4,16);    //把110先转成16进制，把16进制转成字符串

    // QString ret=QString::number(n5);
    // qDebug()<<"ret is: "<<ret;

    // 切割字符串-->C语言strtok
    QString str1 = "2025-11-4";
    // 把年月日切割出来
    QStringList mylist = str1.split("-");
    // 打印结果
    for (int i = 0; i < mylist.size(); i++)
    {
        qDebug() << "结果是: " << mylist.at(i);
    }

    return a.exec();
}
